fix(profiles): remove leisure=track from foot profile routable ways#7542
Merged
DennisOSRM merged 3 commits intomasterfrom May 8, 2026
Merged
fix(profiles): remove leisure=track from foot profile routable ways#7542DennisOSRM merged 3 commits intomasterfrom
DennisOSRM merged 3 commits intomasterfrom
Conversation
leisure=track refers to a sports/race track (athletics track, velodrome, etc.) and is not intended as a walking path. Routing pedestrians over this tag was incorrect per OSM tagging conventions. Removes leisure=track from the whitelisted surface types and stops fetching the leisure key during way processing entirely. Closes #4312 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
DennisOSRM
added a commit
that referenced
this pull request
May 8, 2026
DennisOSRM
added a commit
that referenced
this pull request
May 8, 2026
…le (#7541) * feat(profiles): handle priority=forward/backward way tag in car profile Implements support for the OSM `priority=*` tag (closes #4387). When a way is tagged `priority=forward` the backward direction receives a configurable speed/weight penalty (default 0.7×); `priority=backward` applies the same penalty to the forward direction. Changes: - profiles/car.lua: add `priority_penalty = 0.7` config knob - profiles/lib/way_handlers.lua: read `priority` tag and apply per-direction penalty inside WayHandlers.penalties() - taginfo.json: document the two new priority tag values Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: address review feedback on priority tag handling - Remove inaccurate 'narrow roads' qualifier from priority_penalty comment; the penalty applies to any way tagged priority=forward/backward regardless of road width - Fix misleading scenario title: penalty does apply to oneways when the permitted direction lacks priority, rename accordingly - Fix feature file description that incorrectly said 'narrow sections' Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(profiles): remove leisure=track from foot profile routable ways (#7542) * fix(ci): follow-up to #7485 — unblock certain macOS configurations (#7543) * fix(ci): follow-up to #7485 — unblock certain macOS configurations Follow-up to #7485 to unblock certain macOS configurations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: allow unused include directives on macOS --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(profiles): avoid losing directional priority penalty when weight is bidirectional Only set result.weight when forward and backward penalties are equal; add comment clarifying priority_penalty semantics\n\nAddresses PR #7541\n\nTests: features/car/priority.feature passes locally Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(car): add scenario asserting directional penalty avoids bidirectional weight Covers PR #7541 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(profiles/cmake/tests): address PR review comments - Clarify priority_penalty semantics and scope in car.lua and way_handlers.lua\n- Only set bidirectional weight when penalties are equal (prior change)\n- Rename oneway scenario for clarity and rename duplicate foot scenario\n- Gate unused-command-line-argument warning on Clang/AppleClang in cmake/warnings.cmake\n\nAddresses PR #7541 review threads Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes
leisure=trackfrom the foot profile's list of routable way types, fixing #4312.Problem
The foot profile was treating
leisure=trackas a walkable surface and routing pedestrians over it. However, according to the OSM wiki,leisure=trackdescribes a sports or race track (athletics track, velodrome, horse racing circuit, etc.) — not a path intended for general pedestrian use.This caused OSRM to generate routes through areas that are typically restricted to athletes/competitors, or physically unsuitable for walking (e.g., a running track around a sports field, a velodrome).
Changes
speeds.leisure.trackfrom the speeds table insetup()leisurekey lookup inprocess_way()(no other leisure tags are used by the profile)Functional Impact
Ways tagged with
leisure=trackwill no longer be considered routable by the foot profile. Pedestrians will no longer be routed through race/sports tracks.